package com.lyl.xxx.modules.framework.security.service;

import com.lyl.xxx.modules.framework.security.model.details.LoginDetails;

import javax.servlet.http.HttpServletRequest;

/**
 * @author Mr.Luo
 */
public interface TokenService {

    /**
     * 刷新token
     *
     * @param loginDetails 登录详情
     * @return
     */
    String refreshToken(LoginDetails loginDetails);

    /**
     * 从token中获取登录用户信息
     *
     * @param request 请求
     * @return LoginDetails
     */
    LoginDetails getLoginDetails(HttpServletRequest request);

    /**
     * 校验token
     *
     * @param loginDetails 登录用户详细信息
     */
    void verifyToken(LoginDetails loginDetails);
}
